home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Genie / Projects / AEA / Source / Includes / AEAMetatoken.hh < prev    next >
Encoding:
Text File  |  2000-06-24  |  820 b   |  49 lines

  1. /*    ===============
  2.  *    AEAMetatoken.hh
  3.  *    ===============
  4.  *    
  5.  *    Implemented by AEAMetatoken.cc
  6.  */
  7.  
  8. #pragma once
  9.  
  10. #include "AEADebugging.h"
  11.  
  12. #include <AppleEvents.h>
  13.  
  14. class AEAToken;
  15.  
  16. class AEAMetatokenX {
  17.     friend class AEAMetatoken;
  18. private:
  19.     AEAMetatokenX(AEAToken &inToken);
  20.     virtual ~AEAMetatokenX();
  21.     
  22.     virtual void Retain();
  23.     virtual void Release();
  24.     
  25. private:
  26.     long refCount;
  27.     bool owned;
  28.     AEAToken *mToken;
  29. };
  30.  
  31.  
  32. class AEAMetatoken {
  33. public:
  34.     AEAMetatoken();
  35.     AEAMetatoken(const AEAMetatoken &inMetatoken);
  36.     AEAMetatoken(AEDesc inAEDesc);
  37.     virtual ~AEAMetatoken();
  38.     virtual AEAMetatoken operator=(const AEAMetatoken &inMetatoken);
  39.     virtual void MakeDataDescriptor(AEDesc &outAEDesc);
  40.     virtual AEAToken &Ref();
  41.     
  42. protected:
  43.     static AEAToken *NewToken(const AEDesc &inAEDesc);
  44.     
  45. protected:
  46.     AEAMetatokenX &mX;
  47.     
  48. };
  49.